package com.qinggeng.project.tool.third.service;

import com.qinggeng.project.tool.third.domain.SysThird;

import java.util.List;

/**
 * 第三方登录Service接口
 *
 * @author qinggeng
 * @date 2020-03-13
 */
public interface ISysThirdService
{
    /**
     * 查询第三方登录
     *
     * @param thirdId 第三方登录ID
     * @return 第三方登录
     */
    public SysThird selectSysThirdById(Long thirdId);

    /**
     * 查询第三方登录列表
     *
     * @param sysThird 第三方登录
     * @return 第三方登录集合
     */
    public List<SysThird> selectSysThirdList(SysThird sysThird);

    /**
     * 新增第三方登录
     *
     * @param sysThird 第三方登录
     * @return 结果
     */
    public int insertSysThird(SysThird sysThird);

    /**
     * 修改第三方登录
     *
     * @param sysThird 第三方登录
     * @return 结果
     */
    public int updateSysThird(SysThird sysThird);

    /**
     * 批量删除第三方登录
     *
     * @param thirdIds 需要删除的第三方登录ID
     * @return 结果
     */
    public int deleteSysThirdByIds(Long[] thirdIds);

    /**
     * 删除第三方登录信息
     *
     * @param thirdId 第三方登录ID
     * @return 结果
     */
    public int deleteSysThirdById(Long thirdId);


    /**
     * 查询第三方信息
     * @param platformCode 平台code
     * @param openId 平台ID
     * @return
     */
    SysThird selectSysThirdByPlatform(String platformCode,String openId);

    /**
     * 查询第三方信息
     * @param platformTypes 多平台类型
     * @param unionId 唯一ID
     * @return
     */
    SysThird selectSysThirdByUnionId(String[] platformTypes, String unionId);

    /**
     * 根据绑定老UserId
     * @param userId
     * @param oldUserId
     */
    int updateSysThirdByUserId(Long userId, Long oldUserId);

    SysThird selectSysThirdByCode(String platform, String code);
}
